<<<<<<< HEAD
=======
>>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491 <<<<<<< HEAD ======= >>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491 <<<<<<< HEAD
Contents =======
======= >>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491

Results

Conclusions

Calculix

<<<<<<< HEAD

Some initial tests with the S4R elements revealed that Calculix is not able to capture the behaviour correctly (even for the fine mesh). However, it turns out that for the presented loadcase, the wrong displacement value was caused by the reduced integration scheme. Calculix is able to predict the correct response once the fully integrated elements are used.

This study also revealed that it is not possible within the Calculix solver to directly impose a load distributed over an edge. However, one can use a third party software called PrePoMax that allows to define the surface traction load on an edge, which is converted into *CLOAD keyword afterwards.

../../_images/calculix.png

Fig. 14 Difference between the results with S4R (left) and S4 (right) shell elements in Calculix

=======

The shell implementation in Calculix did not allow to achieve the target solution. The target solution has been achieved using solid type of elements which proved that the input parameters are correct. A similar conclusion has been derived in the Hemispherical shell point load study.

It is also not possible in Calculix to directly specify a load distributed over an edge. However, one can use a third party software called PrePoMax that allows to define the surface traction load on an edge, which is converted into *CLOAD keyword afterwards. The loading scenario was also approximated with the rigid-body constraint which resulted in the same, incorrect value of displacemt. The last test implies that the source of the error is directly related to the shell element implementation. The provided tests highlight the fact that the shell element in Calculix does not seem to capture the response from the structures with complex shapes.

../../_images/calculix.png

Fig. 27 Difference between the results with shell elements (left) and the solid elements (right)

>>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491

Code_Aster

Code_Aster allows to run this particular benchmark almost in a frictionless manner. A solution close to the expected value has been achieved even for the linear type of elements. Additionally, the code has a built-in keyword called FORCE_ARETE that allows to specify a load distributed over an edge.

While setting up the solver is straightforward, the post-processing of results with the second-order shell elements might be confusing. Code_Aster solver uses TRIA6_7 or QUAD8_9 element formulation which have an additional node in the middle of element. At the current moment, it is not possible to directly visualise the displacement field in this place. A possible workaround is to run the simulation with the mesh that includes the additional nodes and then project the results onto mesh without them. The section Tested Finite Element codes presents an example of input deck that take advantage of the mentioned workaround.

../../_images/code_aster_results.png <<<<<<< HEAD

Fig. 15 Inappropriate display of results with the QUAD8_9 elements (left) and the projected results (right)

=======

Fig. 28 Inappropriate display of results with the QUAD8_9 elements (left) and the projected results (right)

>>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491

Elmer

Although the Elmer solver does not support second-order shell elements, it was still possible to achieve a displacement value close to the expected one. The distributed loading conditions have also been easily defined using Resultant Force keyword.

It is worth mentioning that the current shell implementation in Elmer requires a manual definition of shell normals. The definition consists of a file called mesh.director containng node numbers and the normal vectors at the position of a particular node. One can quickly realise that it is rather non-trivial operation to obtain the vectors value for complex shapes. For the case of this particular study, a Python script that aims to be executed in the FreeCAD environment has been prepared. This script loads a BREP representation of the geometry and the Elmer mesh.nodes file, so the precise vector could be computed at any node position. The mentioned script can be found on the CoFEA Github repo.

Mesh convergence study

Linear and Quadratic Triangle mesh

<<<<<<< HEAD ======= >>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491 <<<<<<< HEAD ======= >>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491

Solver

Coarse Mesh
linear / quadratic

Fine Mesh
linear / quadratic

Very Fine Mesh
linear / quadratic

Calculix

0.017 / 0.127

0.036 / 0.131

0.067 / 0.131

Code_Aster

Code_Aster

0.116 / 0.129

0.118 / 0.128

0.116 / 0.128

Elmer

Elmer

0.040 / -

0.055 / -

0.084 / -

<<<<<<< HEAD

Linear and Quadratic Quadrilateral mesh

<<<<<<< HEAD ======= >>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491 <<<<<<< HEAD ======= >>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491

Solver

Coarse Mesh
linear / quadratic

Fine Mesh
linear / quadratic

Very Fine Mesh
linear / quadratic

Calculix

0.126 / 0.129

0.127 / 0.130

0.129 / 0.130

Code_Aster

Code_Aster

0.112 / 0.130

0.118 / 0.128

0.116 / 0.127

Elmer

Elmer

0.0304 / -

0.052 / -

0.125 / -

<<<<<<< HEAD
<<<<<<< HEAD
=======
Model setup Tested Finite Element codes >>>>>>> 8cbd91b276c79c45f606b00b49b9d2047080b491